package com.wwu.common;

import lombok.Data;

import javax.xml.bind.annotation.*;

/**
 * 响应实体类
 * @Author: 一蓑烟雨
 * @CreateTime: 2022-03-17 08:44
 * @Version: 1.0.0
 **/

/**
 * 1.class类的注解：@XmlAccessorType、@XmlRootElement、@XmlType
 * 2.@XmlAccessorType:用于指定由java对象生成xml文件时对java对象属性的访问方式,共有4种值:FIELD、PROPERTY、PUBLIC_MEMBER(默认访问方式)、NONE
 *    （1）XmlAccessType.FIELD:java对象中的所有成员变量
 *    （2）XmlAccessType.PROPERTY：java对象中所有通过getter/setter方式访问的成员变量
 *    （3）XmlAccessType.PUBLIC_MEMBER：java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量
 *    （4）XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素
 * 3.@XmlType的propOrder:使用时必须列出JavaBean对象中的所有属性，否则会报错，如： @XmlType(name = "basicStruct", propOrder = {"intValue","stringArray","stringValue")
 * 4.@XmlRootElement:用于类级别的注解，对应xml的根元素
 * 5.@XmlElement将java对象的属性映射为xml的节点,并可通过name属性为生成的xml节点指定别名
 * 6.@XmlAttribute将java对象的属性映射为xml的属性,并可通过name属性为生成的xml属性指定别名
 * @author Administrator
 * @XmlType(name = "basicStruct", propOrder = {"intValue","stringArray","stringValue")
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ResponseData")
@Data
public class RespObj {
    /** 返回值编码 */
    @XmlElement(name = "Code")
    private long code;

    /** 返回值名称 */
    @XmlElement(name = "Msg")
    private String msg;

    /** 返回值名称 */
    @XmlElement(name = "Body")
    private Object body;
}
